﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Mvc;
using VisualAgile.Model;

namespace VisualAgile.Demo
{
    public class FakeStatusData
    {
        public static List<Status> CreateTestStatuss()
        {
            List<Status> statuss = new List<Status>() { 
                ToDoStatus(),
                InProgressStatus(),
                OnTestStatus(),
                DoneStatus()
            };

            for (int i = 0; i < 10; i++)
            {
                Status sampleStatus = new Status()
                {
                   StatusID = Guid.NewGuid(),                   
                   Name = "New Status",                            
                   CreateTime = DateTime.Now                   
                };

                sampleStatus.AddTask(FakeTaskData.CreateTestTasks()[i]);
                
                //statuss.Add(sampleStatus);
            }

            return statuss;
        }
        
        public static Status ToDoStatus()
        {                        
            Status todo = new Status()
            {
                StatusID = new Guid("29DC7A46-52B5-4941-AAE2-F48592847E42"),                
                Name = "NotDone",                      
                CreateTime = DateTime.Now
            };

            //todo.AddTask(FakeTaskData.ToDoTask7());
            //todo.AddTask(FakeTaskData.ToDoTask8());
            //todo.AddTask(FakeTaskData.ToDoTask9());
            //todo.AddTask(FakeTaskData.ToDoTask10());
            //todo.AddTask(FakeTaskData.ToDoTask11());
            //todo.AddTask(FakeTaskData.ToDoTask12());

            return todo;
        }

        public static Status InProgressStatus()
        {
            Status InProgress = new Status()
            {
                StatusID = new Guid("BE4B0656-8685-439e-B4EA-66D5C9BA7508"),                
                Name = "InProgress",                 
                CreateTime = DateTime.Now
            };

            //InProgress.AddTask(FakeTaskData.ToDoTask6());
            //InProgress.AddTask(FakeTaskData.ToDoTask3());
            //InProgress.AddTask(FakeTaskData.ToDoTask5());
            //InProgress.AddTask(FakeTaskData.ToDoTask1());

            return InProgress;
        }

        public static Status OnTestStatus()
        {
            Status OnTest = new Status()
            {
                StatusID = new Guid("860746BC-810F-43bb-A5C5-87B12A6FC6DC"),
                Name = "On Test",
                CreateTime = DateTime.Now
            };

            //OnTest.AddTask(FakeTaskData.ToDoTask4());

            return OnTest;
        }

        public static Status DoneStatus()
        {
            Status Done = new Status()
            {
                StatusID = new Guid("126D4D30-3AD9-48ef-A62D-E7710584E10B"),
                Name = "Done",
                CreateTime = DateTime.Now
            };

            //Done.AddTask(FakeTaskData.ToDoTask2());

            return Done;
        }      
    }
}
